Many database systems rely on partitioning to improve performance. Generally, databases consist of one or more tables of data. Partitioning a table into distinct parts can improve the performance and availability of the data. Accessing data in a partitioned database table involves finding the partition by, for example, looking up an identifier in a list of partitions. Changing the state of a partition may require synchronization among multiple processes that access the partition. Current methods of synchronizing partition states may require using a synchronization variable, such as a mutex. However, a synchronization variable may cause performance degradation in processes waiting to obtain access to the variable.
In the drawings, like reference numbers generally indicate identical or similar elements. Additionally, generally, the left-most digit(s) of a reference number identifies the drawing in which the reference number first appears.